perm filename REIFY[W83,JMC] blob
sn#701717 filedate 1983-02-27 generic text, type C, neo UTF8
COMMENT ā VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 reify[w83,jmc] Reification - especially in the blocks world
C00005 ENDMK
Cā;
reify[w83,jmc] Reification - especially in the blocks world
Reification
Consider the formulas
s' = move(x,y,s)
and
s' = result(move(x,y),s),
which have the same meaning. The notation of the latter formula comes
from reifying, i.e. making a thing out of, move(x,y). The ontology
of the first formula includes only blocks and situations, whereas the
latter formula also includes events.
If we have events in our ontology, i.e. we have variables
ranging over events and functions and predicates taking events
as arguments and (in the case of functions) giving events as values,
we can substitute such expressions as move(x,y) for an event
variable e in (say) result(e,s). This permits us to get facts
about moving as special cases of facts about events in general.
There are two attitudes toward this. The conservative attitude
refers to "bloating the ontology", while the liberal attitude refers
to "enriching the ontology". In these notes, we will enrich the ontology
whenever it seems required in order to express something we couldn't
conveniently express without it. This means that we will use move(x,y),
exactly when we have more event-valued terms than just move(x,y) and
when we have something to say about events in general.